home *** CD-ROM | disk | FTP | other *** search
- RESPRO.DOC v1.0
- 11/14/86
- Eric Gans
- French Department, UCLA
- Los Angeles CA, 90024
-
- If like most DOS users you have filled your RAM with memory
- resident programs, RESPRO is for you. RESPRO allows you to
- disable and reactivate memory-resident programs at any time, from
- within any application. It also permits you to remove the last
- program loaded regardless of what it says in its user manual or
- DOC file. This too can be done from within other applications,
- but memory errors may result if these are themselves dynamically
- requesting memory.
-
- RESPRO also includes an "uncrash" feature that allows you to
- exit a "hung" program under most circumstances without having to
- reboot your computer.
-
-
- How Do Memory-Resident Programs Work?
-
- Memory-resident programs are loaded like any others; they
- remain resident because DOS allows them to keep the memory
- originally allocated to them. If you load a series of such
- programs, they fill your RAM from the bottom up.
-
- But residing is only useful if these programs can remain
- active. They accomplish this by capturing "interrupt vectors"
- used by various computing activities. Most commonly, these
- programs look at one or both of the keyboard interrupts (9 and
- 16h) to see if you have typed the peculiar combination of
- characters that triggers the program. Since most of the
- characters you type don't interest the resident program, after
- checking it passes on control to the next program down the list,
- and eventually to the BIOS that prints the character on the
- screen.
-
- How Does RESPRO Work
-
- RESPRO itself operates by capturing interrupt vectors and
- using its time of control to record information concerning the
- interrupts used by other memory resident programs. RESPRO
- records all changes that follow the loading of new resident
- programs. This allows it to disable/reactivate memory-resident
- programs by bypassing/restoring these programs' captured
- interrupts.
-
- Set-Up and Memory Requirements
-
- To use RESPRO effectively, you should load it before any
- other memory-resident programs (including those that tell you
- they should be loaded first). RESPRO will only "see" programs
- loaded after it; it will always appear as #1 on its list of
- memory-resident programs.è
- RESPRO occupies about 10 K of memory, largely for buffers to
- hold interrupt data. It requires DOS 2.0 or higher; it could
- probably be adapted for DOS 1, if anyone is still running it.
-
- RESPRO Operation
-
- RESPRO is evoked by typing Alt ` (grave accent). On
- evocation, and after any command, it displays a list of memory-
- resident programs, their load addresses and the number of bytes
- they occupy.
-
- The command line permits the following operations:
-
- (V)erbose toggle: Entering "v" toggles a mode that permits
- you to see the interrupts captured by each resident program and
- their addresses (segment:offset). This should be of use to
- programmers.
-
- (R)emove last: This will remove the last resident program
- from memory, freeing the memory for other applications. RESPRO
- will not allow you to perform this operation from within an
- application that has changed some of the interrupt vectors used
- in the program(s) you wish to remove, since on exiting these
- vectors will be reset to locations in the killed program that
- will eventually be overwritten. But because RESPRO cannot check
- for the future memory demands of your applications, this command
- should always be used with caution from within other programs.
-
- (D)isable #: Entering "d3" will disable program #3. This
- operation may be performed without danger at any time, since it
- does not remove the program from memory. A disabled program will
- not use processor time or perform any other function. Any
- program thus disabled can be reactivated with the (A) command.
-
- (A)ctivate #: Enter "a3" to reactivate the program you
- disabled with "d3". This operation too can be performed safely
- at any time.
-
- Type <ESC> to exit. (No CR is necessary.)
-
- If you disable RESPRO it will remain in memory but no longer
- be operative, and you will no longer be able to call up its
- screen. This is the one (obvious) exception to the rule that all
- disabled programs can be reactivated.
-
- You can change the "`" character (scan code 41) by entering
- some other scan code at location 103H. (Technical Reference
- manuals and the like contain tables of these codes.) DO NOT
- enter the ASCII value of the new character!
-
- A few technically-oriented applications that capture the
- keyboard interrupts for themselves may not let you call up RESPRO
- while they are running. This will not be the case for normal
- user programs like word-processors, spreadsheets, database èprograms, or BASIC.
-
- Uncrash Feature
-
- Since RESPRO keeps interrupt tables, it can handle this
- function more gracefully than other such programs. If you get
- caught in an endless loop but your keyboard is still alive, you
- can exit to DOS or the "parent" process (e.g., DEBUG) by
- simultaneously pressing the CAPS LOCK and the SCROLL LOCK keys.
- (This operation is independent of the current status of these
- keys.) We can't absolutely guarantee that everything will be all
- right on exit, but this feature may allow you to save files that
- would otherwise be lost.
-
- Please inform me if you have any problems using RESPRO.